#include <stdio.h>
#include <stdlib.h>

int main()
{
    // 分配1024字节的内存块
    char *ptr = (char *)malloc(1024);
    char  ch;

    // 未初始化的读取,这里存在风险,因为ptr[1024]可能包含任意值
    // 这可能导致未定义行为
    ch = ptr[1024];

    // 超出块写入,这是危险的,因为我们试图写入分配内存之外的位置
    // 这可能导致程序崩溃或其他未定义行为
    ptr[1024] = 0;

    // 孤立块,通过将指针设置为0,我们失去了对已分配内存的引用
    // 这可能导致内存泄漏,因为没有释放这块内存
    ptr = 0;
    exit(0);
}
